home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-21 / ibmscs.pat < prev    next >
Text File  |  1993-01-09  |  7KB  |  180 lines

  1. ID:IS Patch for IBM SCSI drives
  2. Quarterdeck Technical Document
  3. Latest Revision: March 4, 1992
  4.  
  5.      Subject:  Patching QEMM-386 5.10, 5.11, 5.12, 5.13, 6.00, and 6.01 to 
  6. resolve problems with programs that make calls to the IBM SCSI interface from 
  7. inside Windows 3 enhanced mode. 
  8.  
  9.      Background:  Programs can use interrupt 4B to make calls to the IBM SCSI 
  10. interface.  QEMM-386 intercepts interrupt 4B to detect such calls to the IBM 
  11. SCSI interface, among other calls.  When an interrupt 4B occurs and QEMM-386's 
  12. interrupt handler gets control, it puts the system into protected mode in the 
  13. process of detecting whether or not it should act on the interrupt or pass it 
  14. along.  
  15.  
  16.      When Windows 3 is running in enhanced mode, QEMM-386 cannot go into 
  17. protected mode, as Windows 3 enhanced mode is already in protected mode.  When 
  18. a call to the IBM SCSI interface occurs from inside Windows 3 enhanced mode, 
  19. Windows passes the call along to QEMM-386's interrupt handler, which makes the 
  20. attempt to go into protected mode if High RAM exists.  Versions 5.10 though 
  21. 6.01 of QEMM-386 do not properly handle the failure to go into protected mode, 
  22. and the resulting confusion causes the IBM SCSI call to fail.  The most likely 
  23. symptom is an error message from the software making the IBM SCSI call.
  24.               
  25.      (This problem does not occur with other protected mode software running 
  26. under QEMM-386, including Windows 3 standard mode.  The Virtual Control 
  27. Program Interface (VCPI) normally allows QEMM-386 and other protected mode 
  28. programs each to operate in protected mode.  Windows 3 enhanced mode is the 
  29. only protected mode program whose presence forces QEMM-386 to remain in real 
  30. mode.) 
  31.               
  32.      Users of versions of QEMM-386 after version 6.01 should not experience 
  33. this problem.  In the meantime, QEMM-386 can be patched to eliminate the 
  34. problem.  The only side effect of using this patch is that QEMM-386 can then 
  35. not be used reliably with the NOWINDOWS3 (NW3) parameter, which removes QEMM-
  36. 386's support for Windows 3.
  37.  
  38.      The following procedure is intended to prevent error messages when 
  39. programs running inside Windows 3 enhanced mode make calls to the IBM SCSI 
  40. interface when QEMM-386 is running. This procedure is for use with QEMM-386 
  41. versions:
  42.  
  43.                            5.10     5.11     5.12
  44.                            5.13     6.00     6.01
  45.  
  46.     ********************************************************************
  47.  
  48.      Do NOT use this patch for QEMM-386 5.0 or earlier, or on any version of 
  49. QEMM-386 later than 6.01.  If you are in doubt, go to the directory where the 
  50. QEMM-386 files are located and check the date on the QEMM386.SYS file by 
  51. issuing the DOS command:
  52.  
  53.                         DIR QEMM386.SYS
  54.  
  55.  
  56. If the date on the file is:
  57.  
  58.                        5:10 am     5:11 am     5:12 am
  59.                        5:13 am     6.00 am     6.01 am
  60.  
  61.      then use the patch in this section. If there is no QEMM386.SYS file in 
  62. this directory, or if the date on the file is later than 6:01 am, then you 
  63. probably have an earlier or later version of QEMM-386, and this patch is not 
  64. appropriate.  
  65.  
  66.               *************************************************** 
  67.  
  68.      1) Make a copy of the QEMM386.SYS file in your QEMM directory.  We are 
  69. about to alter your current copy of QEMM386.SYS; the copy you make will serve 
  70. as a backup in case this operation fails.
  71.  
  72.                     COPY C:\QEMM\QEMM386.SYS C:\QEMM\QEMM386.OLD
  73.  
  74.      (If your QEMM386.SYS is not located in the QEMM directory of the C: 
  75. drive, change the path accordingly.)
  76.  
  77.      2) Go to the DOS directory on the hard disk and type:
  78.  
  79.                   DEBUG C:\QEMM\QEMM386.SYS
  80.  
  81.      (If your QEMM386.SYS is not located in the QEMM directory of the C: 
  82. drive, change the path accordingly.)
  83.  
  84.      Hit the Enter key; you should see the DEBUG prompt, which is a hyphen.
  85.  
  86.      3) At the DEBUG prompt, type:
  87.  
  88.                   S 100 L FF00 0 74 3 B8        
  89.  
  90.      Hit the Enter key; DEBUG should return a segment address and an offset:
  91.  
  92.                   xxxx:yyyy
  93.  
  94.      4) At the DEBUG prompt again, use the segment address and offset that was 
  95. just returned to give the DEBUG command:
  96.  
  97.                   E xxxx:yyyy 0 EB
  98.    
  99.      The address that DEBUG returned in step 3 should be used in place of the 
  100. address xxxx:yyyy, which we use as an example.  Hit the Enter key; the DEBUG 
  101. prompt should return in a moment.
  102.  
  103.      5) At the DEBUG prompt, type
  104.  
  105.                   W
  106.  
  107.      Hit the Enter key; DEBUG will announce that it is writing a certain 
  108. number of bytes, then it will return the DEBUG prompt.
  109.  
  110.      6) At the DEBUG prompt, type
  111.  
  112.  
  113.                   Q
  114.  
  115.      Hit the Enter key to exit DEBUG and return to DOS.  
  116.  
  117.      7) To double-check your patch, type the following from the DOS prompt in 
  118. your DOS directory:
  119.  
  120.                   COMP C:\QEMM\QEMM386.SYS C:\QEMM\QEMM386.OLD
  121.  
  122.      (If your QEMM386.SYS is not located in the QEMM directory of the C: 
  123. drive, change the path accordingly.)
  124.  
  125.      Hit the Enter key.  COMP should return:
  126.  
  127.                            C:QEMM386.SYS and C:QEMM386.OLD
  128.  
  129.                             Compare error at OFFSET xxxx
  130.                             File 1 = EB
  131.  
  132.                             File 2 = 74
  133.  
  134.                             Eof mark not found
  135.  
  136.                             Compare more files (Y/N)?
  137.  
  138.      The value xxxx after OFFSET will vary from version to version of QEMM 5.1 
  139. or 6.0, but the rest of the message should be the same: it tells us that there 
  140. is exactly one byte difference between the files, and the differing byte is EB 
  141. in QEMM386.SYS and 74 in QEMM386.OLD.  If COMP returns the message:
  142.  
  143.                             Files compare ok  
  144.  
  145. ...then you probably failed to use DEBUG's W command to save your change, or 
  146. you have compared the wrong files.  If COMP returns more than one compare 
  147. error, or if the bytes returned by the compare error don't match those in the 
  148. above example, the procedure has failed.  In this case, use the DOS command:
  149.  
  150.                   COPY C:\QEMM\QEMM386.OLD C:\QEMM\QEMM386.SYS
  151.  
  152. ... to restore the original file, and try again.
  153.  
  154.      If the patch was successful, you should now reboot the system and test 
  155. the patched version of QEMM-386.  
  156.  
  157.               --------------------------------------------------
  158.  
  159.      If the system fails after you perform this patch, you can follow the 
  160. instructions in the "Installation" section of your QEMM-386 manual to recover 
  161. without resorting to a boot floppy.  After your system is booted successfully, 
  162. copy the backup of QEMM-386 that you made back to its original name with the 
  163. following DOS command:
  164.  
  165.                   COPY C:\QEMM\QEMM386.OLD C:\QEMM\QEMM386.SYS
  166.  
  167.  
  168.  
  169.      (If your QEMM386.SYS is not located in the QEMM directory of the C: 
  170. drive, change the path accordingly.)
  171.  
  172.      You may then wish to try the above procedure again, in case a mistake was 
  173. made.
  174. VwkYxw)cO^6awEESRRN6=ev8O^[%,+Vs╩Rⁿ╧╗{yzdI( vVTD"siEYM]CRW'L6 \XN@]GED"[BhA3<e(y#_^KB)-hofgbCZX
  175. IE]
  176. uTBE__[eE'lIO]OT_a^'jL^T[/O>0c@PUC3ZxyU Qk 2YVXA
  177. PrqY3\TCGC
  178. L71l`(k aV[Xiy&RO'VB!QT-
  179. !A_!@Pt7{y`ue.
  180.